package com.lx.preferred.mall.authcenter.model;

import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.Date;
import java.util.Objects;

/**
 * @author lX
 * @version JDK 8
 * @className UserInfoModel (此处以class为例)
 * @date 2024/12/12
 * @description TODO
 */
public class UmsMember implements Serializable {

  private static final long serialVersionUID = 1L;

  private Long id;

  private Long memberLevelId;

  @ApiModelProperty(value = "用户名")
  private String username;

  @ApiModelProperty(value = "密码")
  private String password;

  @ApiModelProperty(value = "昵称")
  private String nickname;

  @ApiModelProperty(value = "手机号码")
  private String phone;

  @ApiModelProperty(value = "帐号启用状态:0->禁用；1->启用")
  private Integer status;

  @ApiModelProperty(value = "注册时间")
  private Date createTime;

  @ApiModelProperty(value = "头像")
  private String icon;

  @ApiModelProperty(value = "性别：0->未知；1->男；2->女")
  private Integer gender;

  @ApiModelProperty(value = "生日")
  private Date birthday;

  @ApiModelProperty(value = "所在城市")
  private String city;

  @ApiModelProperty(value = "职业")
  private String job;

  @ApiModelProperty(value = "个性签名")
  private String personalizedSignature;

  @ApiModelProperty(value = "用户来源")
  private Integer sourceType;

  @ApiModelProperty(value = "积分")
  private Integer integration;

  @ApiModelProperty(value = "成长值")
  private Integer growth;

  @ApiModelProperty(value = "剩余抽奖次数")
  private Integer luckeyCount;

  @ApiModelProperty(value = "历史积分数量")
  private Integer historyIntegration;

  public Long getId() {
    return id;
  }

  public void setId(Long id) {
    this.id = id;
  }

  public Long getMemberLevelId() {
    return memberLevelId;
  }

  public void setMemberLevelId(Long memberLevelId) {
    this.memberLevelId = memberLevelId;
  }

  public String getUsername() {
    return username;
  }

  public void setUsername(String username) {
    this.username = username;
  }

  public String getPassword() {
    return password;
  }

  public void setPassword(String password) {
    this.password = password;
  }

  public String getNickname() {
    return nickname;
  }

  public void setNickname(String nickname) {
    this.nickname = nickname;
  }

  public String getPhone() {
    return phone;
  }

  public void setPhone(String phone) {
    this.phone = phone;
  }

  public Integer getStatus() {
    return status;
  }

  public void setStatus(Integer status) {
    this.status = status;
  }

  public Date getCreateTime() {
    return createTime;
  }

  public void setCreateTime(Date createTime) {
    this.createTime = createTime;
  }

  public String getIcon() {
    return icon;
  }

  public void setIcon(String icon) {
    this.icon = icon;
  }

  public Integer getGender() {
    return gender;
  }

  public void setGender(Integer gender) {
    this.gender = gender;
  }

  public Date getBirthday() {
    return birthday;
  }

  public void setBirthday(Date birthday) {
    this.birthday = birthday;
  }

  public String getCity() {
    return city;
  }

  public void setCity(String city) {
    this.city = city;
  }

  public String getJob() {
    return job;
  }

  public void setJob(String job) {
    this.job = job;
  }

  public String getPersonalizedSignature() {
    return personalizedSignature;
  }

  public void setPersonalizedSignature(String personalizedSignature) {
    this.personalizedSignature = personalizedSignature;
  }

  public Integer getSourceType() {
    return sourceType;
  }

  public void setSourceType(Integer sourceType) {
    this.sourceType = sourceType;
  }

  public Integer getIntegration() {
    return integration;
  }

  public void setIntegration(Integer integration) {
    this.integration = integration;
  }

  public Integer getGrowth() {
    return growth;
  }

  public void setGrowth(Integer growth) {
    this.growth = growth;
  }

  public Integer getLuckeyCount() {
    return luckeyCount;
  }

  public void setLuckeyCount(Integer luckeyCount) {
    this.luckeyCount = luckeyCount;
  }

  public Integer getHistoryIntegration() {
    return historyIntegration;
  }

  public void setHistoryIntegration(Integer historyIntegration) {
    this.historyIntegration = historyIntegration;
  }

  @Override
  public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;
    UmsMember that = (UmsMember) o;
    return Objects.equals(getId(), that.getId()) && Objects.equals(getMemberLevelId(), that.getMemberLevelId()) && Objects.equals(getUsername(), that.getUsername()) && Objects.equals(getPassword(), that.getPassword()) && Objects.equals(getNickname(), that.getNickname()) && Objects.equals(getPhone(), that.getPhone()) && Objects.equals(getStatus(), that.getStatus()) && Objects.equals(getCreateTime(), that.getCreateTime()) && Objects.equals(getIcon(), that.getIcon()) && Objects.equals(getGender(), that.getGender()) && Objects.equals(getBirthday(), that.getBirthday()) && Objects.equals(getCity(), that.getCity()) && Objects.equals(getJob(), that.getJob()) && Objects.equals(getPersonalizedSignature(), that.getPersonalizedSignature()) && Objects.equals(getSourceType(), that.getSourceType()) && Objects.equals(getIntegration(), that.getIntegration()) && Objects.equals(getGrowth(), that.getGrowth()) && Objects.equals(getLuckeyCount(), that.getLuckeyCount()) && Objects.equals(getHistoryIntegration(), that.getHistoryIntegration());
  }

  @Override
  public int hashCode() {
    return Objects.hash(getId(), getMemberLevelId(), getUsername(), getPassword(), getNickname(), getPhone(), getStatus(), getCreateTime(), getIcon(), getGender(), getBirthday(), getCity(), getJob(), getPersonalizedSignature(), getSourceType(), getIntegration(), getGrowth(), getLuckeyCount(), getHistoryIntegration());
  }

  @Override
  public String toString() {
    return "UserInfoModel{" +
      "id=" + id +
      ", memberLevelId=" + memberLevelId +
      ", username='" + username + '\'' +
      ", password='" + password + '\'' +
      ", nickname='" + nickname + '\'' +
      ", phone='" + phone + '\'' +
      ", status=" + status +
      ", createTime=" + createTime +
      ", icon='" + icon + '\'' +
      ", gender=" + gender +
      ", birthday=" + birthday +
      ", city='" + city + '\'' +
      ", job='" + job + '\'' +
      ", personalizedSignature='" + personalizedSignature + '\'' +
      ", sourceType=" + sourceType +
      ", integration=" + integration +
      ", growth=" + growth +
      ", luckeyCount=" + luckeyCount +
      ", historyIntegration=" + historyIntegration +
      '}';
  }
}
